package com.atguigu.gulimall.ware.fegin;

import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

/**
 * @ClassName ProductFeginService
 * @Description TODO
 * @Author 13290
 * @Date 2022/9/13 17:22
 *
 * 1.添加fegin接口
 * 2.接口添加@FeignClient("gulimall-product") 加上需要调用模块名
 * 3.启动类开启openfegin调用 @EnableFeignClients
 * 4.创建同名接口 并且复制全路径
 **/
@FeignClient("gulimall-product")
public interface ProductFeginService {

    /**
     * 找到商品服务
     * /product/skuinfo/info/{skuId}
     * 找到网关 由网关调用
     *
     *
     * 1.让所有请求过网关
     *      @FeignClient("gulimall-gateway") 给gulimall-gateway所在的服务器发送请求
     *      2. /api/product/skuinfo/info/{skuId}
     * 2.直接从nacos 指定服务处理
     *      @FeignClient("gulimall-product")
     *      /product/skuinfo/info/{skuId}
     * @param skuId
     * @Return com.atguigu.common.utils.R
     **/
    @RequestMapping("/product/skuinfo/info/{skuId}")
    //@RequiresPermissions("product:skuinfo:info")
    public R info(@PathVariable("skuId") Long skuId);
}
